#ifndef PG_H
#define PG_H

#include <QString>
#include <QStringList>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QVariant>
#include <QInputDialog>

#include <QDebug>

struct histo_struct
{
    QString intitule;
    double montant;
    int nb;
    QString date;
};

class Pg
{
    /*
        La prom's est séparée en deux variables, le centre et le l'année.
    */


public:
    Pg(QSqlDatabase sqlDb);
    Pg(int id, QSqlDatabase sqlDb);
    Pg(int fam, QString prom, QSqlDatabase sqlDb);
    ~Pg();


    void setProms(QString);

    //Fonctions d'accès au propriétés de l'objet
    int getId();
    int getFams();
    QString getProms();
    double getSolde();
    QString getBucque();
    QList<histo_struct> getHisto();
    QList<QStringList>  getTrans();
    int getPin();

    static QStringList listProms(int fams, QSqlDatabase db = QSqlDatabase::database("guest"));
private:

    //Fonction permettant de compléter les informations à partir de la fam's et de la prom's complète
    bool completer();

    int id;
    int fams;
    QString proms;
    double solde;
    QString bucque;
    bool actif;
    QSqlDatabase db;

    void init(QSqlDatabase sqlDb); //Petite astuce pour avoire des constructeur avec des arg différant mais qui peuvent s'appelé entre eux.
};

#endif // PG_H
